package com.softtown.modules.sys.service;

import com.softtown.common.service.BaseService;
import com.softtown.modules.sys.entity.CompSysRoleMenuEntity;

import java.util.List;

/**
 * 公司角色菜单
 *
 * @author Dingyayong
 * @version v1.0
 * @create 2019-05-28 15:02
 **/
public interface CompSysRoleMenuService extends BaseService<CompSysRoleMenuEntity> {

    /**
     * 根据公司Id和角色Id获取信息
     * @param companyId
     * @param roleId
     * @return java.util.List<com.softtown.modules.sys.entity.CompSysRoleMenuEntity>
     * @Author fuming
     * @Date 2020/5/27 11:18
     */
    List<CompSysRoleMenuEntity> getCompMenuByRole(Long companyId, Long roleId);

    /**
     * 根据公司Id和角色Id获取信息
     * @param companyId
     * @param roleIds
     * @return java.util.List<com.softtown.modules.sys.entity.CompSysRoleMenuEntity>
     * @Author fuming
     * @Date 2020/5/27 11:18
     */
    List<CompSysRoleMenuEntity> getCompMenuByRoles(Long companyId, List<Long> roleIds);

    /**
     * 根据角色id获取信息
     *
     * @param roleId roleId
     * @return CompSysRoleMenuEntity
     * @author Dingyayong
     * @date 2019/6/17 11:09
     */
    List<CompSysRoleMenuEntity> getByRoleId(Long roleId);

    /**
     * 根据角色id获取信息
     *
     * @param roleId
     * @return List<Long>
     * @author Dingyayong
     * @date 2019/6/18 9:45
     */
    List<Long> getMenuIdList(Long roleId);

    /**
     * 获取角色菜单信息
     * @param compId
     * @param roleId
     * @param menuId
     * @return com.softtown.modules.sys.entity.CompSysRoleMenuEntity
     * @Author fuming
     * @Date 2020/5/27 11:18
     */
    CompSysRoleMenuEntity getRoleMenu(Long compId, Long roleId, Long menuId);

    /**
     * 更新
     * @param  compSysRoleMenuEntity
     * @return
     * @author Dingyayong
     * @date 2019/6/18 9:54
     */
    void updateRoleMenu(CompSysRoleMenuEntity compSysRoleMenuEntity);
}

